package com.eshore.norm.pojo.vo;

import com.eshore.norm.enumeration.CloudTypeEnum;
import com.eshore.norm.enumeration.CmdbResTypeEnums;
import com.eshore.norm.enumeration.CmdbVmStatusEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * cmdb虚机vo
 */
@Data
@Accessors(chain = true)
public class SyncCmdbVmVO implements Serializable {
    private static final long serialVersionUID = 5299372321625663797L;

    @ApiModelProperty(value = "id")
    private Long id;

    @ApiModelProperty(value = "账户ID")
    private Long accountId;

    @ApiModelProperty(value = "虚机id")
    private String vmId;

    @ApiModelProperty(value = "资源类型id")
    private Long resourceId;

    @ApiModelProperty(value = "资源类型")
    private CmdbResTypeEnums resourceType;

    @ApiModelProperty(value = "虚机名字")
    private String name;

    @ApiModelProperty(value = "所属机房")
    private Long machineRoomId;

    @ApiModelProperty(value = "集群id")
    private String clusterId;

    @ApiModelProperty(value = "主机id")
    private String hostId;

    @ApiModelProperty(value = "虚机ip")
    private String vmIp;

    @ApiModelProperty(value = "虚机内存")
    private String vmMemory;

    @ApiModelProperty(value = "虚机cpu数")
    private String vmCpu;

    @ApiModelProperty(value = "虚机磁盘大小")
    private String vmDisk;

    @ApiModelProperty(value = "虚机状态")
    private CmdbVmStatusEnum vmStatus;

    @ApiModelProperty(value = "操作系统名称")
    private String osDesc;

    @ApiModelProperty(value = "虚机弹性ip")
    private String vmFloatingIp;

    @ApiModelProperty(value = "私有云/公有云标志")
    private CloudTypeEnum cloudType;

    @ApiModelProperty(value = "租户code")
    private Long tenantCode;

    @ApiModelProperty(value = "镜像id")
    private String imageId;

    @ApiModelProperty(value = "regionId")
    private String regionId;

    @ApiModelProperty(value = "可用域ID")
    private String zoneId;

    @ApiModelProperty(value = "虚机创建时间")
    private Date vmCreateDate;

    @ApiModelProperty(value = "虚拟主机名称")
    private String vmName;

    @ApiModelProperty(value = "虚拟描述")
    private String description;

    @ApiModelProperty(value = "虚机id工单关联字段")
    private String vmUuid;
}